package com.hong.qrpc.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 添加于暴露服务的接口上
 *
 * @Author HQT
 * @Data 2022/7/24 16:47
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface QRpcClient {
    String serviceName();

    Class fallback() default Object.class;

    /**
     * 请求超时时间
     */
    long timeout() default Long.MAX_VALUE;

    /**
     * 重试次数
     */
    int retries() default 0;

    String addr() default "";
}
